Do not read empty files.
authoroliskoli <oliskoli>
Thu, 30 Nov 2006 01:32:41 +0000 (01:32 +0000)
committeroliskoli <oliskoli>
Thu, 30 Nov 2006 01:32:41 +0000 (01:32 +0000)
mapsend.c

index 90cb6aa63ff16047054e275eefb30fe927a2d143..89629d1baaa5229e1d4eeb304bdd68f962ccd43f 100644 (file)
--- a/mapsend.c
+++ b/mapsend.c
@@ -313,7 +313,7 @@ static void
 mapsend_read(void)
 {
        mapsend_hdr hdr;
-       int type;
+       int type, len;
        char buf[3];
 
        /*
@@ -321,7 +321,9 @@ mapsend_read(void)
         * strings, each member has to be read in one at a time.  Grrr.
         */
 
-       fread(&hdr, sizeof(hdr), 1, mapsend_file_in);
+       len = fread(&hdr, 1, sizeof(hdr), mapsend_file_in);
+       is_fatal(len < sizeof(hdr), MYNAME ": No mapsend or empty file!");
+       
        type = le_read16(&hdr.ms_type);
        strncpy(buf, hdr.ms_version, 2);
        buf[2] = '\0';